﻿using System.Xml.Serialization;
using ElectronicCommerce.Framework.Configuration.Attributes;

namespace ElectronicCommerce.Framework.Web.Configuration.Website
{
    /// <summary>
    /// Represents web site configuration. This class is for deserializtion's purpose only. Do not use directly.<br />
    /// Note: all the urls here do not contain a trailing '/' or '\'
    /// </summary>
    [ConfigFile("Website.config")]
    [XmlRoot("websiteConfiguration")]
    public class WebsiteConfiguration
    {
        [XmlElement("serverId")]
        public string ServerId { get; set; }

        [XmlElement("webSiteConfig")]
        public SiteConfig WebSiteConfig { get; set; }

        [XmlElement("resourceSiteConfig")]
        public ResourceSiteConfig ResourceSiteConfig { get; set; }

        [XmlElement("productImageSiteConfig")]
        public SiteConfig ProductImageSiteConfig { get; set; }

        [XmlElement("brandLogoSiteConfig")]
        public SiteConfig BrandLogoSiteConfig { get; set; }

        [XmlElement("bannerSiteConfig")]
        public SiteConfig BannerSiteConfig { get; set; }

        [XmlElement("themeConfig")]
        public ThemeConfig ThemeConfig { get; set; }

        [XmlElement("localizationConfig")]
        public Localization LocalizationConfig { get; set; }

        [XmlElement("fileStoreSiteConfig")]
        public FileStoreSiteConfig FileStoreSiteConfig { get; set; }
    }
}
